package com.zj.study.entity;

import lombok.Data;
import lombok.experimental.Accessors;

/**
 * @author 赵赳
 * @since 2022/10/8 9:44
 */
@Data
@Accessors(chain = true)
public class SettleOrderInfo {

  /**
   * 商户号
   */
  private String merNo;

  /**
   * 提现用户编号
   */
  private String userNo;

  /**
   * 支付日期
   */
  private String payDate;

  /**
   * 支付时间
   */
  private String payTime;

  /**
   * 支付渠道号
   */
  private String payType;

  /**
   * 订单号
   */
  private String orderNo;

  /**
   * 支付单号
   */
  private String payNo;

  /**
   * 支付渠道流水号
   */
  private String transNo;

  /**
   * 平台子订单号
   */
  private String subOrderNo;

  /**
   * 清分订单交易类型：支付 or 退款
   */
  private String settlePayType;

  /**
   * 业务订单交易类型
   */
  private String orderPayType;

  /**
   * 清算资金来源
   */
  private String settleAmountSource;

  /**
   * 手续费承担方式
   */
  private String handlingFeeType;

  /**
   * 原始订单金额 原始订单金额 = 平台优惠金额 + 原始支付金额
   */
  private String originAmount;

  /**
   * 原始支付金额
   */
  private String originPayAmount;

  /**
   * 平台优惠金额
   */
  private String discountAmount;

  /**
   * 平台分成金额
   */
  private String platformShareAmount;

  /**
   * 平台垫款金额
   */
  private String platformAdvanceAmount;

  /**
   * 渠道手续费
   */
  private String ChannelFee;

  /**
   * 资金类型
   */
  private String fundingType;

  /**
   * 备注
   */
  private String Remark;

  private final String SPAN = new String(new byte[]{0x03});

  @Override
  public String toString() {
    return merNo + SPAN + userNo + SPAN + payDate + SPAN + payTime + SPAN + payType + SPAN + orderNo
        + SPAN + payNo +
        SPAN + transNo + SPAN + subOrderNo + SPAN + settlePayType + SPAN + orderPayType + SPAN
        + settleAmountSource +
        SPAN + handlingFeeType + SPAN + originAmount + SPAN + originPayAmount + SPAN
        + discountAmount + platformShareAmount +
        SPAN + platformAdvanceAmount + SPAN + ChannelFee + SPAN + fundingType + Remark;
  }

}
